#ifndef GRAPHFLOWMATRIX_H
#define GRAPHFLOWMATRIX_H
#include <iostream>
#include "graphtypes.h"
#include "GraphFlow.h"
#include "GraphOrientedMatrix.h"

using namespace std;

class GraphFlowMatrix : public virtual GraphFlow, public virtual GraphOrientedMatrix
{
protected :
  flow_t **flow;
  flow_t **capacity;

public :
  GraphFlowMatrix();
  GraphFlowMatrix(GraphFlow &);
  GraphFlowMatrix(summit_t, edges_t);
  virtual ~GraphFlowMatrix();
  virtual flow_t getFlow(summit_t i, summit_t j) const;
  virtual flow_t getCapacity(summit_t i, summit_t j) const;
  virtual void setFlow(summit_t i, summit_t j, flow_t f);
  virtual void setCapacity(summit_t i, summit_t j, flow_t f);
};

#endif
